@@ -384,3 +384,26 @@ def maintenance_tracking_info_callback(request): |
||
| 384 | 384 |
maintenance_tracking_info_update(maintenance, type_, tracking_info) |
| 385 | 385 |
|
| 386 | 386 |
return response() |
| 387 |
+ |
|
| 388 |
+ |
|
| 389 |
+@logit |
|
| 390 |
+def maintenance_close(request): |
|
| 391 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 392 |
+ maintenance_id = request.POST.get('maintenance_id', '')
|
|
| 393 |
+ admin_id = request.POST.get('admin_id', '')
|
|
| 394 |
+ |
|
| 395 |
+ try: |
|
| 396 |
+ maintenance = MaintenaceInfo.objects.get(id=maintenance_id, status=True) |
|
| 397 |
+ except MaintenaceInfo.DoesNotExist: |
|
| 398 |
+ return response(MaintenanceStatusCode.MAINTENACE_NOT_FOUND) |
|
| 399 |
+ |
|
| 400 |
+ if not is_admin(brand_id, admin_id): |
|
| 401 |
+ return response(MaintenanceStatusCode.MAINTENACE_NOT_FOUND) |
|
| 402 |
+ |
|
| 403 |
+ maintenance.maintenance_status = MaintenaceInfo.TRACKING_BACK_SIGNED |
|
| 404 |
+ maintenance_status_at = maintenance.maintenance_status_at |
|
| 405 |
+ maintenance_status_at[MaintenaceInfo.TRACKING_BACK_SIGNED] = tc.utc_datetime() |
|
| 406 |
+ maintenance.maintenance_status_at = maintenance_status_at |
|
| 407 |
+ maintenance.save() |
|
| 408 |
+ |
|
| 409 |
+ return response() |
@@ -278,6 +278,7 @@ urlpatterns += [ |
||
| 278 | 278 |
|
| 279 | 279 |
url(r'^admin/maintenance/update$', maintenance_views.maintenance_update, name='maintenance_update'), |
| 280 | 280 |
url(r'^admin/maintenance/list$', maintenance_views.maintenance_list, name='maintenance_list'), |
| 281 |
+ url(r'^admin/maintenance/close$', maintenance_views.maintenance_close, name='maintenance_close'), |
|
| 281 | 282 |
|
| 282 | 283 |
url(r'^admin/maintenance/tracking/info$', maintenance_views.maintenance_tracking_info, name='maintenance_tracking_info'), |
| 283 | 284 |
url(r'^maintenance/tracking/info/callback$', maintenance_views.maintenance_tracking_info_callback, name='maintenance_tracking_info_callback'), |